﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace HospitalAdmision
{
    public partial class FormIngreso : Form
    {
        ProyHospitalEntities proyhospitalE;
        public FormIngreso()
        {
            InitializeComponent();
        }

        private void FormIngreso_Load(object sender, EventArgs e)
        {
            proyhospitalE = new ProyHospitalEntities();
        }

        private void btnEntrar_Click(object sender, EventArgs e)
        {
            //Crea e instancia el objeto 
            //Busca lo que esta en la caja de texto de nombre
            Usuario user = proyhospitalE.Usuario.FirstOrDefault(u => u.Nombre == txtAdmNombreUsuario.Text);

            //Si usuario es distinto comprobar el clave con la caja de texto de contraseña
            //También comprueba si el modulo es igual a Administración
            //Muestra el formulario principal
            //Por el contrario manda el mensaje de que el usuario no existe
            //Por el contrario manda el mensaje de la clave no existe
            if (user != null)
            {
                if (user.Clave == txtAdmContraseña.Text)
                {
                    if (user.Modulo == "Administracion")
                    {
                        FormPrincipal frmprincipal = new FormPrincipal();
                        frmprincipal.Show();
                        frmprincipal.recibeId(1);
                        this.Hide();
                    }
                    else if (user.Modulo == "Admision")
                    {
                        FormAdmision fa = new FormAdmision();
                        fa.Show();
                        this.Hide();
                    }
                    else if(user.Modulo=="Farmacia")
                    {
                        formFarmacia ff = new formFarmacia();
                        ff.Show();
                        this.Hide();
                    }
                    else if(user.Modulo=="Sanitario")
                    {
                        F_prescpricion fp = new F_prescpricion();
                        fp.Show();
                        this.Hide();
                    }
                    else if(user.Modulo=="Cocina")
                    {
                        F_Cocina fc = new F_Cocina();
                        fc.Show();
                        this.Hide();
                    }
                    else if(user.Modulo=="Dietetica")
                    {
                        F_dietetica fd = new F_dietetica();
                        fd.Show();
                        this.Hide();
                    }

                }
                    
                else
                {
                    MessageBox.Show("La clave es incorrecta");
                }
            }
            else
            {
                MessageBox.Show("El usuario no existe");
            }         
        }

        private void FormIngreso_FormClosed(object sender, FormClosedEventArgs e)
        {
            Application.Exit();
        }
        //Evento KeyPress que solo permite el ingreso de letras en el TextBox de Nombre de usuario
        private void txtAdmNombreUsuario_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsLetter(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }
        //Evento KeyPress que solo permite el ingreso de digitos en el TextBox de Contraseña
        private void txtAdmContraseña_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }       
    }
}
